package zwz.importTask.utils;


public class ImportThreadLocalUtils {
    private static final ThreadLocal<ImportContext<?>> threadLocalContext = new ThreadLocal<>();


    // 获取当前线程的 ImportContext 实例
    public static <T> ImportContext<T> getContext() {

        @SuppressWarnings("unchecked")
        ImportContext<T> context = (ImportContext<T>) threadLocalContext.get();
        if (context == null) {
            context = new ImportContext<>();
            threadLocalContext.set(context);
        }
        return context;
    }

    // 设置当前线程的 ImportContext 实例
    public static <T> void setContext(ImportContext<T> context) {
        threadLocalContext.set(context);
    }

    // 移除当前线程的 ImportContext 实例
    public static void remove() {
        threadLocalContext.remove();
    }
}
